#ifndef			NODEAST_H_
# define		NODEAST_H_

#include "LOLCode.h"

class			NodeAST
{
 private:
  LOLCode*		_lol;
  NodeAST*		_left;
  NodeAST*		_right;
  std::string		_data;
  int			_nb;
  static int		_glnb;
 private:
  NodeAST(NodeAST const &){}
  NodeAST &		operator = (NodeAST const &){return *this;}

 public:
  virtual ~NodeAST(){}
  NodeAST();
  NodeAST(LOLCode& lol, std::string const & data, int);
  void			nextAST();
  void			nextAstToFile();
  LOLCode const &	getLol() const;
  void			setLol(LOLCode & L);
  std::string const &	getData() const;
  void			setData(std::string const & data);
  NodeAST *		getLeft() const;
  NodeAST *		getRight() const;
  int			getNb() const;
};

#endif			//!NODEAST_H_
